package com.ruoyi.system.service;

import java.util.List;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.system.domain.TaskAttachment;

/**
 * 任务附件Service接口
 * 
 * @author ruoyi
 */
public interface ITaskAttachmentService 
{
    /**
     * 查询任务附件列表
     * 
     * @param taskAttachment 任务附件
     * @return 任务附件集合
     */
    public List<TaskAttachment> selectTaskAttachmentList(TaskAttachment taskAttachment);

    /**
     * 查询任务的附件列表
     * 
     * @param taskId 任务ID
     * @param taskType 任务类型(0=主任务, 1=子任务)
     * @return 任务附件集合
     */
    public List<TaskAttachment> selectTaskAttachmentsByTaskId(Long taskId, Integer taskType);

    /**
     * 查询任务附件详情
     * 
     * @param attachmentId 任务附件ID
     * @return 任务附件
     */
    public TaskAttachment selectTaskAttachmentById(Long attachmentId);

    /**
     * 新增任务附件
     * 
     * @param taskAttachment 任务附件
     * @return 结果
     */
    public int insertTaskAttachment(TaskAttachment taskAttachment);

    /**
     * 修改任务附件
     * 
     * @param taskAttachment 任务附件
     * @return 结果
     */
    public int updateTaskAttachment(TaskAttachment taskAttachment);

    /**
     * 删除任务附件信息
     * 
     * @param attachmentId 任务附件ID
     * @return 结果
     */
    public int deleteTaskAttachmentById(Long attachmentId);

    /**
     * 批量删除任务附件
     * 
     * @param attachmentIds 需要删除的任务附件ID
     * @return 结果
     */
    public int deleteTaskAttachmentByIds(Long[] attachmentIds);

    /**
     * 上传任务附件
     * 
     * @param taskId 任务ID
     * @param taskType 任务类型(0=主任务, 1=子任务)
     * @param file 文件
     * @return 任务附件
     */
    public TaskAttachment uploadTaskAttachment(Long taskId, Integer taskType, MultipartFile file) throws Exception;
} 